js逆向环境自吐(第三版)

您所在的位置:网站首页 webpack 教学 js逆向环境自吐(第三版)

js逆向环境自吐(第三版)

2023-02-17 02:50| 来源: 网络整理| 查看: 265

半夜某宝的225突然过不了了,看了半天参数,没看出来,写了一个环境自吐直接看缺了什么,借助了chatgpt的一些提示,如果有不正确的地方请指正。(仅供学习使用) 第三版增加了递归和排版

window = new function monitorWindow() { const MAX_VALUE_LENGTH = 70; // 截取 value function truncateValue(value) { if (typeof value === 'string' && value.length > MAX_VALUE_LENGTH) { return `${value.substring(0, MAX_VALUE_LENGTH)}...`; } else if (typeof value === 'object') { const keys = Object.keys(value); if (keys.length > 2) { return `{${keys.slice(0, 3).map(key => `${key}: ${serializeValue(value[key])}`).join(', ')}...}` } else { return `{${keys.map(key => `${key}: ${value[key]}`).join(', ')}}`; } } else { return value; } } // 序列化 value function serializeValue(value) { if (typeof value === 'object') { try { return JSON.stringify(value); } catch { return value; } } return value; } function createHandler(name) { return { get(target, key, receiver) { if (key === Symbol.unscopables || key === 'toString' || key === 'valueOf') { return Reflect.get(target, key, receiver); } const value = Reflect.get(target, key, receiver); if (String(key) === "Symbol(impl)" || truncateValue(serializeValue(name)).includes("Symbol(impl)")){ return value; } if (typeof value === 'function' && /^function\s+[A-Za-z]+\(\)/.test(value.toString())) { // 代理函数的构造函数 return new Proxy(value, { construct(target, args, newTarget) { console.log(`调用了构造函数: ${String(key).padEnd(22, " ")} |"参数": ${JSON.stringify(args)}`); return Reflect.construct(target, args, newTarget); }, }); } if (value != null && (typeof value === 'object' || typeof value === 'function')) { // 代理对象的属性访问和设置 console.log(`访问: "${(String(key)+"\"属性").padEnd(30, " ")}|"${(truncateValue(serializeValue(name))+"\"对象").padEnd(50, " ")}|值=`, truncateValue(serializeValue(value))); return new Proxy(value, createHandler(`${String(name)}.${String(key)}`)); } if (String(key) === "Symbol(impl)" || truncateValue(serializeValue(name)).includes("Symbol(impl)")){ return value; } // 不进行代理的属性或方法 console.log(`获取: "${(String(key)+"\"属性").padEnd(30, " ")}|"${(truncateValue(serializeValue(name))+"\"对象").padEnd(50, " ")}|值=`, truncateValue(serializeValue(value))); return value; }, set(target, key, value, receiver) { console.log(`设置对象: "${(String(key)+"\"").padEnd(28, " ")}|"${(truncateValue(serializeValue(name))+"\"对象").padEnd(50, " ")}|值=`, truncateValue(serializeValue(value))); return Reflect.set(target, key, value, receiver); }, apply(target, thisArg, args) { console.log(`调用了函数: ${(String(target.name)).padEnd(27, " ")}|"${(truncateValue(serializeValue(name))+"\"对象").padEnd(50, " ")}|参数= ${truncateValue(serializeValue(args))}`); return Reflect.apply(target, thisArg, args); }, construct(target, args, newTarget) { console.log(`调用了构造函数: ${String(target.name)}|"${(truncateValue(serializeValue(name))+"\"对象").padEnd(50, " ")}|参数= ${JSON.stringify(args)}`); return Reflect.construct(target, args, newTarget); }, }; } return new Proxy(window, createHandler('window')); }

1.某宝 在这里插入图片描述

2.某夕夕 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3